package com.xuecheng.content.service;

import com.xuecheng.base.module.pageParams;
import com.xuecheng.base.module.pageResult;
import com.xuecheng.module.dto.AddCourseDto;
import com.xuecheng.module.dto.CourseBaseInfoDto;
import com.xuecheng.module.dto.EditCourseDto;
import com.xuecheng.module.dto.QueryCourseParamsDto;
import com.xuecheng.module.po.CourseBase;

/**
 * @author 星河一叶Ck
 * @date 2025/4/15
 */

public interface CourseBaseInfoService {

    /**
     * 分页条件查询
     * @param pageParams 分页页码和每页展示
     * @param queryCourseParamsDto 查询的条件
     * @return 数据结果
     */
    pageResult<CourseBase> queryCourseBaseList(pageParams pageParams, QueryCourseParamsDto queryCourseParamsDto);

    /**
     *  添加课程基本信息
     * @param companyId 机构id (通过权限验证获取到)
     * @param addCourseDto 添加课程基本信息
     * @return com.xuecheng.module.dto.CourseBaseInfoDto
     */
    CourseBaseInfoDto createCourseBase (Long companyId, AddCourseDto addCourseDto);

    /**
     * 根据课程id查询课程基本信息
     * @param courseId 课程id
     * @return 课程详细信息
     */
    CourseBaseInfoDto getCourseBaseInfo (long courseId);

    /**
     * 修改课程基本信息
     * @param companyId 机构ID
     * @param editCourseDto 修改的课程信息
     * @return 修改后的课程信息
     */
    CourseBaseInfoDto updateCourseBase (Long companyId, EditCourseDto editCourseDto);
}
